package desmontec.documentos

import grails.test.*
import desmontec.documentos.DPG
import desmontec.funcionarios.Engenheiro
import desmontec.documentos.QuantidadeMaximaDeMateriais

class QuantidadeMaximaMateriaisTests extends GrailsUnitTestCase {
	
	def dpg = new DPG()
	def quantidadeMaximaDeMateriais = new QuantidadeMaximaDeMateriais()
	
    protected void setUp() {
        super.setUp()
		mockForConstraintsTests(DPG, [ dpg ])
		mockForConstraintsTests(QuantidadeMaximaDeMateriais, [ quantidadeMaximaDeMateriais ])
    }

    protected void tearDown() {
        super.tearDown()
    }

	/**
	 * Testa se os valores da qtd maxima de materiais podem ser nulos 
	 */
	void testMateriaisParametrosNull(){
		
		def materiais1 = new QuantidadeMaximaDeMateriais(dinamite: null, espoleta: null,estopim: null, 
														cordelDet: null, espoletim: null, retardo: null)
		
		assertFalse(materiais1.validate())
		
		assertEquals "nullable", materiais1.errors["dinamite"]
		assertEquals "nullable", materiais1.errors["espoleta"]
		assertEquals "nullable", materiais1.errors["espoleta"]
		assertEquals "nullable", materiais1.errors["estopim"]
		assertEquals "nullable", materiais1.errors["cordelDet"]
		assertEquals "nullable", materiais1.errors["espoletim"]
		assertEquals "nullable", materiais1.errors["retardo"]
	}
	
	void testMateriaisValorMinimoParametros(){
		
		def materiais1 = new QuantidadeMaximaDeMateriais(dinamite: -1, espoleta: -1,estopim: -1,
														cordelDet: -1, espoletim: -1, retardo: -1)
		
		
		assertFalse(materiais1.validate())
		
		assertEquals "min", materiais1.errors["dinamite"]
		assertEquals "min", materiais1.errors["espoleta"]
		assertEquals "min", materiais1.errors["espoleta"]
		assertEquals "min", materiais1.errors["estopim"]
		assertEquals "min", materiais1.errors["cordelDet"]
		assertEquals "min", materiais1.errors["espoletim"]
		assertEquals "min", materiais1.errors["retardo"]
	}
	
}
